//==========================================================================
// Copyright (c) 2000-2008,  Elastos, Inc.  All Rights Reserved.
//==========================================================================
#ifndef __XLLP_DVM_H__
#define __XLLP_DVM_H__

#include "xllp_common.h"
#include "xllp_Pm.h"
#include "xllp_i2c.h"
#include "xllp_Pm_OsSpecific.h"
#include "xllp_clkmgr.h"
#include "xllp_gpio.h"

typedef struct
{
	XLLP_UINT32_T CPDIS;
	XLLP_UINT32_T PDDIS;
    XLLP_UINT32_T frequency;
	XLLP_UINT32_T fastbus_mode;
	XLLP_UINT32_T turbo_mode;

} XLLP_FREQ_PARAM;

typedef struct
{
	XLLP_UINT32_T frequency;
	XLLP_UINT32_T fastbus_mode;
	XLLP_UINT32_T turbo_mode;
	XLLP_UINT32_T DacValue;

} XLLP_COMBO_PARAM;

#define  PRIMARY_CLOCK_FREQ              13

#define  VOLTAGE_REGULATOR_ADDRESS       0x20

//CLKCFG mask definition
#define XLLP_CLKCFG_T                   0x1
#define XLLP_CLKCFG_F                   (0x1 <<1 )
#define XLLP_CLKCFG_B                   (0x1 <<3 )
          
//define the MACRO for Power Management Change Control Register
#define XLLP_PVCR_VCSA                  (0x1<<14)
#define XLLP_PVCR_CommandDelay          (0xf80)

//define MACRO for Power Manager General Configuration Register (PCFR)
#define XLLP_PCFR_FVC                   (0x1 << 10)
#define XLLP_PCFR_PI2C_EN               (0x1 << 6)
#define XLLP_PCFR_SYSEN_EN              (0x1 << 5)

//define MACRO for Power Manager I2C Command Register File (PCMD)
#define XLLP_PCMD_MBC                  (0x1 << 12)
#define XLLP_PCMD_DCE                  (0x1 << 11)
#define XLLP_PCMD_LC                   (0x1 << 10)
#define XLLP_PCMD_SQC                  (0x3 << 8)


#endif